package com.jiaai.cloud.user.entity;

import java.math.BigDecimal;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 用户交易信息表
 * </p>
 *
 * @author 佳爱网络科技
 * @since 2017-08-29
 */
@TableName("t_user_pay_record")
public class TUserPayRecord extends Model<TUserPayRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * 自增ID
     */
	@TableId(type= IdType.INPUT)
	private Integer recordId;
    /**
     * 交易流水sn，ymdHis+2位随机数
     */
	private String recordSN;
    /**
     * 用户ID
     */
	private String userId;
    /**
     * 交易类型 1充值 2提现 3交易 
     */
	private Integer type;
    /**
     * 系统模块(1直播 2婚恋交友 3聊天室)
     */
	private Integer sysType;
    /**
     * 交易金额
     */
	private BigDecimal money;
    /**
     * 支付方式 0待定 1支付宝 2微信 3银行卡 4余额
     */
	private Integer payType;
    /**
     * 备注信息
     */
	private String remark;
    /**
     * 支付状态 0待支付 -1失败 1成功
     */
	private Integer payStatus;
    /**
     * 交易时间
     */
	@JSONField(format = "YYYY-MM-dd")
	private Date payTime;
    /**
     * 收款状态 0待收款 -1失败 1成功
     */
	private Integer fetchStatus;
    /**
     * 收款时间
     */
	@JSONField(format = "YYYY-MM-dd")
	private Date fetchTime;
    /**
     * 对账状态 0未对账 1已对账
     */
	private Integer checkStatus;
    /**
     * 对账时间
     */
	@JSONField(format = "YYYY-MM-dd")
	private Date checkTime;

	@TableField(exist = false)
	private List<TUser> tUserList;

	public List<TUser> gettUserList() {
		return tUserList;
	}

	public void settUserList(List<TUser> tUserList) {
		this.tUserList = tUserList;
	}

	public Date getPayTime() {
		return payTime;
	}


	public void setPayTime(Date payTime) {
		this.payTime = payTime;
	}

	public Date getFetchTime() {
		return fetchTime;
	}

	public void setFetchTime(Date fetchTime) {
		this.fetchTime = fetchTime;
	}

	public Date getCheckTime() {
		return checkTime;
	}

	public void setCheckTime(Date checkTime) {
		this.checkTime = checkTime;
	}

	public Integer getRecordId() {
		return recordId;
	}

	public void setRecordId(Integer recordId) {
		this.recordId = recordId;
	}

	public String getRecordSN() {
		return recordSN;
	}

	public void setRecordSN(String recordSN) {
		this.recordSN = recordSN;
	}

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	public Integer getSysType() {
		return sysType;
	}

	public void setSysType(Integer sysType) {
		this.sysType = sysType;
	}

	public BigDecimal getMoney() {
		return money;
	}

	public void setMoney(BigDecimal money) {
		this.money = money;
	}

	public Integer getPayType() {
		return payType;
	}

	public void setPayType(Integer payType) {
		this.payType = payType;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Integer getPayStatus() {
		return payStatus;
	}

	public void setPayStatus(Integer payStatus) {
		this.payStatus = payStatus;
	}



	public Integer getFetchStatus() {
		return fetchStatus;
	}

	public void setFetchStatus(Integer fetchStatus) {
		this.fetchStatus = fetchStatus;
	}


	public Integer getCheckStatus() {
		return checkStatus;
	}

	public void setCheckStatus(Integer checkStatus) {
		this.checkStatus = checkStatus;
	}



	@Override
	protected Serializable pkVal() {
		return this.recordId;
	}

}
